复杂数据类型的机器级表示
数组的分配与访问
- 分配在静态区的数组,在链接后,在可执行目标文件的数据段中分配了空间。
- 在函数内部的数组,是auto型数组,数组数据分配在栈中,故数组首址通过EBP来定位。
结构体数据的分配和访问
- 分配在栈中的auto结构型变量的首地址由EBP或ESP来定位
- 分配在静态区的结构型变量首地址是一个可以确定的静态区地址
结构型变量x各成员首址可用“基址加偏移量”的寻址方式
结构体数据作为入口参数,通常应按地址传递
联合体数据的分配和访问
- 联合体各成员共享存储空间,按最大长度成员所需空间大小为准。
- 当事先知道某种数据结构中的不同字段的使用时间是互斥的,就可以将这些字段声明为联合,以减少空间
数据的对齐
减少访存次数